package cn.iocoder.yudao.module.scrm.controller.admin.business.vo.business;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 商机新增/修改 Request VO")
@Data
public class BusinessSaveReqVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8176")
    private Integer id;

    @Schema(description = "商机标题")
    @NotNull(message = "商机标题不能为空")
    private String title;

    @Schema(description = "关联客户id", example = "11697")
    @NotNull(message = "关联客户id不能为空")
    private Integer customerId;

    @Schema(description = "关联订单id", example = "1199")
    private Integer orderId;

    @Schema(description = "主要联系人")
    private String contacts;

    @Schema(description = "预计销售金额", example = "14637")
    @DecimalMin(value = "0.0", inclusive = false, message = "必须为正整数")
    private BigDecimal predictMarketPrice;

    @Schema(description = "预计签单时间")
    private LocalDateTime predictWrittenTime;

    @Schema(description = "销售阶段  scrm_sales_stage")
    private String salesStage;

    @Schema(description = "商机类型  scrm_business_type", example = "2")
    private String businessType;

    @Schema(description = "成交几率  scrm_transaction_probability")
    private String transactionProbability;

    @Schema(description = "商机来源  scrm_business_source")
    private String businessSource;

    @Schema(description = "获取日期")
    private LocalDateTime acquisitionDate;

    @Schema(description = "归属人员id")
    private String vestingOfficer;

    @Schema(description = "归属人员姓名")
    private String vestingOfficerName;


    @Schema(description = "备注信息", example = "你猜")
    @Size(message = "备注信息-不能超过1000个字符",max = 1000)
    private String remark;

    @Schema(description = "系统编号")
    private String systemNumber;

    @Schema(description = "负责人的用户编号", example = "24758")
    private String ownerUserId;

    @Schema(description = "前负责人的用户编号-->前归属人员", example = "9662")
    private String oldOwnerUserId;


    @Schema(description = "场次开始时间")
    private LocalDateTime sessionBeginTime;

    @Schema(description = "场次结束时间")
    private LocalDateTime sessionEndTime;

    @Schema(description = "签到情况")
    private String signCondition;

}